package com.zzld.modules.sys.entity;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.*;

import com.fasterxml.jackson.annotation.JsonFormat;

@Table(name = "zzld_sys_role")
public class Role {
	/**
	 * 编号
	 */
	@Id
	private String id;
	/**
	 * 父角色编号
	 */
	private String pid;
	/**
	 * 名称
	 */
	private String name;
	/**
	 * 是否最底层
	 */
	private Integer islast;
	/**
	 * 排序
	 */
	private BigDecimal sort;
	/**
	 * 状态
	 */
	private String status;
	/**
	 * 描述
	 */
	private String remarks;
	/**
	 * 创建人
	 */
	@Column(name = "create_by")
	private String create_by;
	/**
	 * 创建时间
	 */
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "create_date", length = 7)
	private Date create_date;

	/**
	 * 获取编号
	 * 
	 * @return id - 编号
	 */
	public String getId() {
		return id;
	}

	/**
	 * 设置编号
	 * 
	 * @param id
	 *            编号
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取父角色编号
	 * 
	 * @return pid - 父角色编号
	 */
	public String getPid() {
		return pid;
	}

	/**
	 * 设置父角色编号
	 * 
	 * @param pid
	 *            父角色编号
	 */
	public void setPid(String pid) {
		this.pid = pid;
	}

	/**
	 * 获取名称
	 * 
	 * @return name - 名称
	 */
	public String getName() {
		return name;
	}

	/**
	 * 设置名称
	 * 
	 * @param name
	 *            名称
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * 获取是否最底层
	 * 
	 * @return islast - 是否最底层
	 */
	public Integer getIslast() {
		return islast;
	}

	/**
	 * 设置是否最底层
	 * 
	 * @param islast
	 *            是否最底层
	 */
	public void setIslast(Integer islast) {
		this.islast = islast;
	}

	/**
	 * 获取排序
	 * 
	 * @return sort - 排序
	 */
	public BigDecimal getSort() {
		return sort;
	}

	/**
	 * 设置排序
	 * 
	 * @param sort
	 *            排序
	 */
	public void setSort(BigDecimal sort) {
		this.sort = sort;
	}

	/**
	 * 获取状态
	 * 
	 * @return status - 状态
	 */
	public String getStatus() {
		return status;
	}

	/**
	 * 设置状态
	 * 
	 * @param status
	 *            状态
	 */
	public void setStatus(String status) {
		this.status = status;
	}

	/**
	 * 获取描述
	 * 
	 * @return remarks - 描述
	 */
	public String getRemarks() {
		return remarks;
	}

	/**
	 * 设置描述
	 * 
	 * @param remarks
	 *            描述
	 */
	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}

	/**
	 * 获取创建人
	 * 
	 * @return create_by - 创建人
	 */
	public String getCreateBy() {
		return create_by;
	}

	/**
	 * 设置创建人
	 * 
	 * @param createBy
	 *            创建人
	 */
	public void setCreateBy(String create_by) {
		this.create_by=create_by;
	}

	/**
	 * 获取创建时间
	 * 
	 * @return create_date - 创建时间
	 */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="Asia/Shanghai")
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "create_date")
	public Date getCreateDate() {
		if (this.create_date != null)
			return this.create_date;
		return new Date();
	
	}

	/**
	 * 设置创建时间
	 * 
	 * @param createDate
	 *            创建时间
	 */
	public void setCreateDate(Date create_date) {
		this.create_date = create_date;
	}
}